System and method for displaying a persistent notification with enhanced functions

ABSTRACT

The present invention is a system and user interface for a persistent notification that sits within a notification or control center of an operating system (OS) and looks native to the device. The persistent notification provides access to frequently used applications, utility applications, a news feed as well as a search function by sending requests and receiving data from a platform that provides the persistent notification with data related to the device being used by the user to allow the persistent notification to appear native to the device.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present patent application claims the priority benefit of U.S.provisional patent application 63/186,674 filed on May 10, 2021, andU.S. provisional patent application 63/186,676 filed on May 10, 2021,disclosures of which are incorporated herein by references.

FIELD OF THE DISCLOSURE

The present disclosure is generally related to a system for providing apersistent notification at a notification center. More specifically, thepersistent notification application has enhanced functions providingfrequently used applications, utility applications, a news feed, and/ora search function.

BACKGROUND

Application notifications are limited to the functions that the user canperform from the notification itself. Typically the user is required toselect the notification, which launches or initiates the application.Performing tasks directly from the notification is non-existent intoday's mobile device applications. As such, notifications provided bymobile device applications are one-dimensional and provide only onefunction related to the mobile device application. These mobile deviceapplications do not allow the user to take any actions other thanlaunching or opening the application itself.

Thus, there is a need to allow users the ability to perform multiplefunctions of an application directly from the notification message.

SUMMARY OF THE CLAIMED INVENTION

Disclosed are systems, apparatuses, methods, computer readable medium,and circuits for displaying a persistent notification with enhancedfeatures. According to at least one example, a method includes:continuously monitoring for activation of a user interface on a clientdevice; positioning a persistent notification at a top position of anotification center, wherein the persistent notification includes asearch bar; tracking use data of the persistent notification; andsending the tracked data to an analytics and monitoring module, whereinthe tracked data is used for determining monetization allocation. Forexample, the client device continuously monitoring for activation of auser interface on a client device; positions a persistent notificationat a top position of a notification center, wherein the persistentnotification includes a search bar; tracks use data of the persistentnotification; and sends the tracked data to an analytics and monitoringmodule, wherein the tracked data is used for determining monetizationallocation.

In another example, a client device for displaying a persistentnotification with enhanced features is provided that includes a storage(e.g., a memory configured to store data, such as virtual content data,one or more images, etc.) and one or more processors (e.g., implementedin circuitry) coupled to the memory and configured to executeinstructions and, in conjunction with various components (e.g., anetwork interface, a display, an output device, etc.), cause the clientdevice to: continuously monitoring for activation of a user interface ona client device; position a persistent notification at a top position ofa notification center, wherein the persistent notification includes asearch bar; track use data of the persistent notification; and send thetracked data to an analytics and monitoring module, wherein the trackeddata is used for determining monetization allocation.

DESCRIPTIONS OF THE DRAWINGS

FIG. 1 illustrates an exemplary network environment in which anexemplary system for implementing a software development kit provides anative toolbar with enhanced functions in a notification in accordancewith an embodiment;

FIG. 2 illustrates the exemplary network environment for implementingthe native toolbar with enhanced functions in a notification inaccordance with an embodiment;

FIG. 3 illustrates a flowchart illustrating an exemplary method ofimplementing a Base Module in accordance with an embodiment;

FIG. 4 illustrates a flowchart illustrating an exemplary method ofimplementing a Positioning Module in accordance with an embodiment;

FIG. 5 illustrates a flowchart illustrating an exemplary method ofimplementing a Custom Utility Module in accordance with an embodiment;

FIG. 6 illustrates a flowchart illustrating an exemplary method ofimplementing a Customize Module in accordance with an embodiment;

FIG. 7 illustrates a flowchart illustrating an exemplary method ofimplementing a News Module in accordance with an embodiment;

FIG. 8 illustrates a flowchart illustrating an exemplary method ofimplementing a Search Module in accordance with an embodiment;

FIG. 9 illustrates a flowchart illustrating an exemplary method ofimplementing a Popular App Module in accordance with an embodiment;

FIG. 10 illustrates a flowchart illustrating an exemplary method ofimplementing an Advertise App Module in accordance with an embodiment;

FIGS. 11A-11I illustrate graphical user interfaces depicting animplementation of a native toolbar with enhanced functions in anotification in accordance with an embodiment;

FIG. 12A is a flowchart illustrating an exemplary method of providing apersistent notification application through a software development kit(SDK), in accordance with an embodiment;

FIG. 12B is a flowchart illustrating an exemplary method of implementinga native toolbar with enhanced functions in a notification in accordancewith an embodiment; and

FIG. 13 shows an example of a computing system in accordance with anembodiment.

DETAILED DESCRIPTION

Embodiments of the present disclosure will be described more fullyhereinafter with reference to the accompanying drawings in which likenumerals represent like elements throughout the several figures, and inwhich example embodiments are shown. Embodiments of the claims may,however, be embodied in many different forms and should not be construedas limited to the embodiments set forth herein. The examples set forthherein are non-limiting examples and are merely examples among otherpossible examples.

Embodiments of the present disclosure provide a persistent notificationthat includes enhanced features such as a search bar and frequently usedutility applications. The persistent notification may be positioned at atop position of a notification center. Use data of the persistentnotification may be tracked and sent to a analytics and monitoringmodule for determining monetization allocation.

FIG. 1 illustrates an exemplary network environment 100 in which anexemplary system for implementing a software development kit (SDK) forproviding a native toolbar with enhanced functions in a notification inaccordance with an embodiment. In some embodiments, an SDK 102 may beaccessed through a platform server 104. In some embodiments, the SDK 102may also be accessed via a cloud network, a storage device, or any kindof computer/CPU, processor or server that is capable of hosting the SDK102. Developers for other applications hosted by other third-partyservers 106 may integrate the SDK 102. The SDK 102 may be provided tothe other applications as a monetization service, whereby the SDK runsmonetization within a persistent notification on a device 101.

The SDK 102 may integrate with the other applications in a number ofways. In a non-limiting example, the integrated SDK 102 may allowuninterrupted use of the other application. In the present embodiment,third-party programming, computer code, or script of the otherapplication may be accessed by the SDK 102 and a respective third-partyserver 106. In an alternate embodiment, platform server 104 may directlyaccess or host the third-party programming or connect with thethird-party server 106 to retrieve needed data.

In a non-limiting example, users interact through the third-partyapplication 108 but are connected to the SDK 102 in the background. Forexample, by integrating the SDK 102, in some embodiments, a downloadablepersistent notification application is presented in an onboardingprocess for the other applications. In another non-limiting example, adownload option for the persistent notification application may bepresented as an overlay at the client device after the other applicationis downloaded. The downloadable persistent notification application maybe presented as an opt-in option and have an obvious opt-out option.

In the present embodiment, the SDK 102 may have a series of tools calledlisteners that may communicate with the third-party programming,computer code, or script and report results and data pertaining toactions at the persistent notification to the platform server 104. Inanother embodiment, the third-party servers 106 may report results tothe SDK 102 or the platform server 104 when actions at the third-partyapplication 108 trigger data retrieval or actions by the persistentnotification.

In the present embodiment, the SDK 102 and the third-party servers 106communicate in the backend to ensure that gaming quality and userexperience remains fluid. In the present embodiment, the SDK 102 mayhave ‘listeners’ embedded throughout the software to monitor and reportuser interaction data, metrics, and trip actions that notify the SDK 102or platform server 104 to perform a certain action.

FIG. 2 illustrates the exemplary network environment for implementingthe native toolbar with enhanced functions in a notification. Thenetwork environment 200 can be a network having a Mobile Device 201, aPlatform 236, and Third-Party Networks 256 in communication with variousother networks and devices via a Cloud Network 234 in accordance with anembodiment. This network environment 200 comprises the Mobile Device201, such as a cellular device, smartphone, cell phone, etc., which mayinclude an operating system (OS) 202 with preinstalled applications thatappear native to in a graphical user interface of the Mobile Device 201,such as a Lock Screen 208, a Rewards Application 212, a News AppApplication 216, and an Persistent Notification 220, which provide easeof use and additional functionality to a user. In some embodiments, theMobile Device 201 may be a smartphone such as an Android, iPhone,Windows Phone, etc. The OS 202 for the Mobile Device 201 may includesoftware that supports a smartphone's basic functions, such asscheduling tasks, executing applications, and controlling peripherals.

Mobile operating systems combine features of a personal computeroperating system with other features useful for mobile or handheld useand usually include a wireless inbuilt modem and SIM tray for telephonyand data connection. The Mobile Device 201, with mobile communicationsabilities (e.g., smartphones), may contain two mobile operatingsystems—the main user-facing software platform is supplemented by asecond low-level proprietary real-time operating system that operatesthe radio and other hardware. A Base Module 206 may be initiated uponinstallation of an application for displaying a native toolbar with aplurality of functions within a persistent notification onto the mobiledevice 201 and continuously monitoring the user interface on the mobiledevice 201. Activity at the user interface may activate the base module206, which may further initiate modules in a Persistent Notification220, such as a Positioning Module 224, a Custom Utility Module 226, aCustomize Module 228, a News Module 230, and a Search Module 232.

For example, once the user interface is activated on the Mobile Device201, the Positioning Module 224 is initiated to position a persistentnotification at the top of the display, interface, or screen, also knownas “position one”. The Custom Utility Module 226 may be initiated todetermine which utility applications should be displayed on thenotification, such as camera, flashlight, calculator, etc. The CustomizeModule 228 may be initiated to determine which applications should bedisplayed on the application such as applications that the user hasdownloaded and frequently uses such as a map or GPS application, socialnetworking applications, messaging applications, etc. The News Module230 may be activated in order to determine which news articles should bedisplayed on the notification via the News App Application 216, whichmay provide news articles of interest to the user, if the user does notselect a news article then the News Module 230 returns to the BaseModule 206.

The Search Module 232 may be initiated to allow the user to search theInternet through a 3rd Party such as Google, Bing, etc. A search bar maybe provided in the persistent notification and the Search Module 232 maybe initiated when the user selects the search function on thenotification. A Lock Screen 208 may be an application preinstalled onthe OS 202 that looks native to the mobile device's interface or in amanner similar to the user interface of the Mobile Device 201. The LockScreen 208 may be the screen, display, or interface presented to a userprior to a user unlocking their phone through a pin code, password, orbiometric security. An unlock function, such as a swipe, may bepresented in a space or region within the lock screen 208. In addition,the Lock Screen 208 may present content, for example, a news feed or anadvertisement.

The lock screen may have a Connector 210, to connect to the Platform 236in order to send a request to the Device Specification 244 in order toretrieve the data on the device's specification, such as a screen ordisplay size, in order to determine how the Lock Screen 208 should bedisplayed on the user device's screen, display or interface. A connector210, which may be a URL connection, cloud connection, etc., to allow thelock screen 208 to connect to the Platform 236 to allow requests to besent and data to be retrieved from a Dynamic Layout Configuration 238, aContent Server 250, an Analytics/Monitoring Module 252, or a Wallet 254of the Platform 236.

A Rewards Application 212 may be a preinstalled application on the OS202 to provide users with an opportunity to earn rewards, such as coins,points, or a monetary value, that can be exchanged for gift cards,vouchers, other physical gifts, minutes, or data for their cellularplans, etc. The Rewards Application 212 allows for rewards to be earnedby the user by completing 3rd party surveys, downloading applications,etc. The user's coins, points, or a monetary value, may be stored in theWallet 254 which tracks the user's coins, points, or monetary value andallows the coins, points, or monetary value to be exchanged for giftcards, vouchers, other physical gifts, minutes, or data for theircellular plans. This is offered through other 3rd parties different fromthe 3rd party that offered the survey, application download, etc., ormaybe exchanged from 3rd parties that are partnered with theapplication. A Connector 214 which may be a URL connection, cloudconnection, etc., to allow the Rewards Application 212 to connect to thePlatform 236 to allow requests to be sent and retrieve data from theDynamic Layout Configuration 238, the Content Server 250, theAnalytics/Monitoring Module 252, or the Wallet 254.

The News App Application 216 may be an application preinstalled on themobile device Operating System 202 that looks native to the MobileDevice's 201 interface or is displayed in a manner which is displayed ina similar manner to the user interface of the Mobile Device 201. Thenews app application 216 may be initiated through a notification on theMobile Device 201, user interface in which the user is notified of anews article of interest and the user selects the article on thenotification launching the application. The News App Application 216 mayconnect to the Platform 236 to request and receive data such asaccessing a user account through the User Account 240. The actions ofthe user allow the viewing of selected news articles through the UserActions data 242.

The user may adjust their specifications such as choosing a display,screen or interface size through the Device Specification 244. The usermay control the content that has been previously viewed or selectedthrough the Content Session Data 246. The user may control receivingnotifications from the Platform 236 through the Notification Services248. The News App Application 216 may also receive content, such as newsarticles that are aggregated for the user through the Content Server250, and the Analytics/Monitoring Module 252 may be used to determinearticles of interest to the user, determine previously viewed articlesby the user so those news articles will not be shown to the user again,determine when the user was last shown an advertisement so the user willnot be overwhelmed with advertisements or only shown advertisementsperiodically.

The News App application 216 may be displayed as a section on anotification, either from the lock screen 208 or the PersistentNotification 220, and initiated when the user selects the news articleto be brought to the news article through the News App Application 216.A connector 218 which may be a url connection, cloud connection, etc.,to allow the news app application 216 to connect to the platform 236 toallow requests to be sent and retrieve data from the dynamic layoutconfiguration 238, content server 250, analytics/monitoring module 252,or wallet 254.

The Analytics/Monitoring Module 252 may be used to determine articles ofinterest to the user. The Analytics/Monitoring Module 252 may be used todetermine previously viewed articles by the user so those news articleswill not be shown to the user again. The Analytics/Monitoring Module 252may be used to determine when the user was last shown an advertisement,not to be overwhelmed with advertisements. The Analytics/MonitoringModule 252 may be used to determine what information to show via thepopular app related to monetization. The Analytics/Monitoring Module 252may determine the most popular advertisement to show in the popular app.The Analytics/Monitoring Module 252 may determine which is the bestadvertisement related to the popular app. The Analytics/MonitoringModule 252 may determine which advertisement to show during the bestpart of the day. The Analytics/Monitoring Module 252 may determine thebest advertisement based upon the user's profile from the User Account240. The Analytics/Monitoring Module 252 may determine the bestadvertisement that makes Platform 236 make the most money. TheAnalytics/Monitoring Module 252 may determine the best advertisementthat makes the Platform 236 partners make the most money.

The Persistent Notification 220 may include applications frequently usedby the user or prompt the user to download an application through theprocess described in the Popular Apps Module 235, which is initiatedthrough the Base Module 206. The Persistent Notification 220 may provideadvertisements or recommended applications to download through theprocess described in the Advertise App Module 237, which is initiated bythe Base Module 206. Advertise App Module 237 may be used to determineat any point which of a list of popular apps to position in the lockscreen position. Advertise App Module 237 may be used to determine howlong a popular app remains in the lock screen position. Advertise AppModule 237 may be used to determine the schedule of which popular appswill be in the lock screen position.

In some embodiments, the Search Module 232, Popular App Module 235, andthe Advertise App Module 237 may have already been performed to allowthe notification to include additional application functions. Forexample, providing the user the ability to search the Internet or webthrough the Search Module 232, the most frequently used applications bythe user, for example, social networking, messaging applications, etc.through the Popular App Module 235, and providing the user withadvertisements and recommended applications to download through theAdvertise App Module 237, and the Positioning Module 224 returns to theBase Module 206. A Search Module 232 initiated by the Base Module 206 orthe Search Module 232 may be initiated by activating the user interfacesuch as turning on the display, activating the screen, or unlocking thedevice. This allows the user to search the Internet or web through 3rdParty search engines, for example, Google, Bing, etc., via the ContentServer 250. The Search Module 232 determines if the user selected thesearch function on the notification provided by Platform 236. Suppose itis determined that the user selected the search function on thenotification provided by Platform 236. The user inputs the search termsinto the search bar within the notification in the application providedby Platform 236. The Search Module 232 sends the search terms to theContent Server 250, which sends the terms to a 3rd party search engineand receives the search results from the 3rd Party search engine, forexample, Google, Bing, etc.

Then, the Search Module 232 receives the search results from the ContentServer 250. In some embodiments, the search function on the notificationprovided by Platform 236 may launch or initiate a 3rd Party searchengine application in which the Search Module 232 is continuouslypolling for the user to exit the application and would bring the userback to the original notification in which the search was prompted. TheSearch Module 232 displays the received search results from the ContentServer 250 on the Mobile Device 201 user interface to allow the user toscroll through the 3rd Party search engine's search results to theContent Server 250. If it is determined that the user did not select thesearch function or if the user closes, ends, or terminates thenotification's search function, then the Search Module 232 returns tothe Base Module 206. The Popular App Module 235 is initiated by BaseModule 206.

The Popular App Module 235 may also be initiated from the useractivating the user interface, such as turning on the display,activating the screen, or unlocking the device. The Popular App Module235 provides the most frequently used applications (as mentioned above,any other method or algorithm) on the notification displayed on theMobile Device 201. The Popular App Module 235 sends a request for theUser Actions Data 242, Content Session Data 246, and NotificationServices 248 located on the Dynamic Layout Configuration 238. ThePopular App Module 235 is sending a request to Platform 236 for the mostfrequently used or previously selected applications that should appearon the notification to the user, such as social networking applications,messaging applications, etc. In some embodiments, the user may selectwhich applications they desire to appear on the notification byselecting the applications through a list of available applicationsavailable on the device. The Popular App Module 235 receives theapplication data from the User Actions Data 242, Content Session Data246, and Notification Services 248 to provide the user with theapplications within the notification from the application provided byPlatform 236 to allow the most frequently used applications to belaunched directly from the notification. The Popular App Module 235displays the most frequently used applications on the notification,allowing users to launch the applications directly from the receivednotification. The Popular App Module 235 returns to the Base Module 206.

An Advertise App Module 237 being initiated by the Base Module 206 orthe Advertise App Module 237 may be initiated by activating the userinterface such as turning on the display, activating the screen, orunlocking the device. This provides the most frequently used utilityapplications (as mentioned above, any other method or algorithm) on thenotification displayed on the Mobile Device 201. The Advertise AppModule 237 sends a request to the Content Server 250,Analytics/Monitoring Module 252, and Notification Services 248 locatedon the Dynamic Dynamic Layout Configuration 238.

The Advertise App Module 237 sends its data to the Monetization Module253 of the Platform 236. This data sent to the Monetization Module 253will be used to determine which parties get pay in or get paid. Partiescan be but are not limited to the user, the Popular App being used, theadvertiser, the platform, and even the owners of the mobile deviceoperating system or mobile device manufacturer. The data associated withthe Monetization Module 256 is stored in the Monetization Database 255.It should be obvious to those skilled in the art when and how paymentsare made using the Monetization Database 255.

The App Developer Devices 258 may provide their application to Platform236, such as on the Content Server 250, to advertise their applicationon the Mobile Device's 102 notification to allow users to download orlaunch the application. The Advertisers Devices 260 may provide theiradvertisement content to Platform 236 and store their data on theContent Server 250. This allows users of Platform 236 to view theAdvertisers Devices 260 advertisement. For example, an advertisement maybe a notice or announcement in a public medium, such as the Platform's236 notification, promoting a product, service, event, or publicizing ajob vacancy. The Advertise App Module 237 sends a request to theAnalytics/Monitoring Module 252. This request is used to determine howoften a user is being sent notifications with an app or advertisement.This data is used to determine if a previously determined threshold hasbeen reached to send the user an app a new advertisement.

This data is also used to determine if the user will be sent a new appor advertisement or a new app or advertisement sent to the user throughthe notification. The Advertise App Module 237 receives the applicationand advertisement data from the Content Server 250. TheAnalytics/Monitoring Module 252 and Notification Services 248 providethe user with an application and advertisement within the notificationprovided by Platform 236. This allows the user to view an application,which may a recommended application, suggesting to download anapplication, or application that the user currently has installed on theMobile Device 201 that has an agreement, contract, or other types ofengagement with the Platform 236, and an advertisement from a 3^(rd)Party. The Advertise App Module 237 displays the application andadvertisement on the notification data provided by Platform 236. Thisallows the user to view a recommended application and an advertisementwithin the notification, and the Advertise App Module 237 then returnsto the Base Module 206.

The cloud or communication network may be a wired and a wirelessnetwork. The communication network, if wireless, may be implementedusing communication techniques such as Visible Light Communication(VLC), Worldwide Interoperability for Microwave Access (WiMAX), LongTerm Evolution (LTE), Wireless Local Area Network (WLAN), Infrared (IR)communication, Public Switched Telephone Network (PSTN), Radio waves,and other communication techniques are known in the art. Thecommunication network may allow ubiquitous access to shared pools ofconfigurable system resources and higher-level services that can berapidly provisioned with minimal management effort, often over theInternet, and rely on sharing resources to achieve coherence economiesof scale, like a public utility. At the same time, third-party cloudsenable organizations to focus on their core businesses instead ofexpending resources on computer infrastructure and maintenance.

A Platform 236 receives requests from and sends data to the Lock Screen108, the Rewards App 112, the News App 116, and the Action Toolbar 120.Platform 236 may contain a Dynamic Dynamic Layout Configuration 238. TheDynamic Layout Configuration 238 contains data regarding (1) the useraccount, (2) user history, and (3) the user's Mobile Device 201settings. The data also include content the user has viewed or accessedand the user's notification settings. Content Server 250 fetches contentdata from 3rd Party providers, an Analytics/Monitoring Module 252. Thisdata contains an analysis of user's accounts such as content viewed orthe number of times the application has accessed, or the number of timescontent has been viewed. Wallet 152 contains the user's transactionhistory for the Rewards App 112. Platform 236 may connect to the MobileDevice 201, the Lock Screen 108, the Rewards App 112, the News App 116,and the Action Toolbar 120 through a cloud connection, sim card, URLconnection.

The Persistent Notification 220 may appear as a notification on themobile device 201 interface, which sends a request to the Platform 236to receive the Device Specification 244 to allow the notification tolook native to the Mobile Device's 201 display, screen, or interface.The Persistent Notification 220 may be located at the top of the userinterface through the process described in the Positioning Module 224which is initiated through the Base Module 206.

The Persistent Notification 220 may include various utilities providedby the Mobile Device 201 such as flashlight, calculator, maps or GPS,Bluetooth settings, Wi-Fi settings, etc. through the process describedin the Custom Utility Module 226 which is initiated through the BaseModule 206. The Persistent Notification 220 may include applicationsfrequently used by the user or prompt the user to download anapplication through the process described in the Customize Module 228which is initiated through the Base Module 206. The PersistentNotification 220 may provide news articles of interest to the userthrough the process described in the News Module 230 which is initiatedby the Base Module 206. The Persistent Notification 220 may provide theuser the ability to search the internet or web through 3rd party searchengines such as Google, Bing, etc. through the process described in theSearch Module 232 which is initiated by the Base Module 206.

A Connector 222 which may be a URL connection, cloud connection, etc.,to allow the Persistent Notification 220 to connect to the Platform 236to allow requests to be sent and retrieve data from the Dynamic LayoutConfiguration 238, Content Server 250, Analytics/Monitoring module 252,or Wallet 254. A Positioning Module 224 which is initiated by the BaseModule 206, or the Positioning Module 224 may be initiated from the useractivating the user interface such as turning on the display, activatingthe screen, or unlocking the device. Then the Positioning Module 224sends a request to the Platform 236 for the Device Specification 244located on the Dynamic Layout Configuration 238.

For example, the Positioning Module 224 is sending a request for thespecification data related to the device such as the manufacturer,model, size of the device, size of the screen or display, resolution ofthe device, etc. in order to display the notification in a manner andstyle similar to the device so the notification looks native to thedevice. Then the Positioning Module 224 receives the DeviceSpecification 244 data to allow the notification to appear to bevisually native to the device by using the specification data, forexample, manufacturer, model, size of the device, size of the screen ordisplay, resolution of the device, etc. Then the Positioning Module 224displays the notification on the user interface of the Mobile device 201at the top of the display screen or interface to allow the user to viewthe application as the first notification.

In some embodiments, the Custom Utility Module 226, Customize Module228, News Module 230, and the Search Module 232 may have already beenperformed to allow the notification to include additional functions ofthe application, for example, the most frequently used utilityapplications, for example, the calculator, camera, maps or GPS, etc.through the Custom Utility Module 226, the most frequently usedapplications by the user, for example, social networking, messagingapplications, etc. through the Customize Module 228, providing the userwith a news feed through the News Module 230, and providing the user theability to search the internet or web through the Search Module 232, andthe Positioning Module 224 returns to the Base Module 206.

A Custom Utility Module 226 which is initiated by the Base Module 206,or the Custom Utility Module 226 may be initiated from the useractivating the user interface such as turning on the display, activatingthe screen, or unlocking the device, to provide the most frequently usedutility applications on the notification displayed on the Mobile device201. Then the Custom Utility Module 226 sends a request for the UserActions Data 242 and Notifications services 248 located on the DynamicLayout Configuration 238. For example, the Custom Utility Module 226 issending a request to the Platform 236 for the most frequently used orpreviously selected utility applications that should appear on thenotification to the user, for example, the camera, calculator, maps orGPS, etc. In some embodiments, the user may select which utilityapplications they desire to appear on the notification by selecting theapplications through a list of available utility applications availableon the device.

The Custom Utility Module 226 receives the utility application data fromthe User Actions Data 242 and Notifications services 248 to provide theuser with the utility applications within the notification from theapplication provided by the Platform 236 to allow the utilityapplications to be launched directly from the notification. Then theCustom Utility Module 226 displays the most frequently used utilityapplications on the notification allowing a user to launch the utilityapplications directly from the received notification and the CustomUtility Module 226 returns to the Base Module 206. A Customize Module228 which is initiated by the Base Module 206 or the Customize Module228 may be initiated from the user activating the user interface such asturning on the display, activating the screen, or unlocking the device,to provide the most frequently used applications on the notificationdisplayed on the Mobile device 201. Then the Customize Module 228 sendsa request for the User Actions Data 242, Content Session Data 246, andNotifications services 248 located on the Dynamic Layout Configuration238. For example, the Customize Module 228 is sending a request to thePlatform 236 for the most frequently used or previously selectedapplications that should appear on the notification to the user, forexample, the social networking applications, messaging applications,etc.

In some embodiments, the user may select which applications they desireto appear on the notification by selecting the applications through alist of available applications available on the device. In someembodiments, the applications that appear to the user may be recommendedor advertised applications through 3rd Parties 256 that are sent to thePlatform 236. The Customize Module 228 receives the application datafrom the User Actions Data 242, Content Session Data 246, andNotifications services 248 to provide the user with the applicationswithin the notification from the application provided by the Platform236 to allow the most frequently used applications to be launcheddirectly from the notification. Then the Customize Module 228 displaysthe most frequently used applications on the notification allowing auser to launch the applications directly from the received notificationand the Customize Module 228 returns to the Base Module 206.

A News Module 230 which is initiated by the Base Module 206 or the NewsModule 230 may be initiated from the user activating the user interfacesuch as turning on the display, activating the screen, or unlocking thedevice, to provide the user with a news feed function on thenotification. Then the News Module 230 determines if the user selectedthe News app application 216 on the notification. If it is determinedthat the user selected the News app application 216 on the notificationthen the News Module 230 launches the News app application 216. If it isdetermined that the user did not select the News app application 216 orif the user closes, ends, or terminates the News app application 216 theNews Module 230 returns to the Base Module 206. A Search Module 232which is initiated by the Base Module 206 or the Search Module 232 maybe initiated from the user activating the user interface such as turningon the display, activating the screen, or unlocking the device, toprovide the user the ability to search the internet or web through 3rdParty search engines, for example, Google, Bing, etc., via the ContentServer 250.

Then the Search Module 232 determines if the user selected the searchfunction on the notification provided by the Platform 236. If it isdetermined that the user selected the search function on thenotification provided by the Platform 236, then the user inputs thesearch terms into the search bar within the notification in theapplication provided by the Platform 236. Then the Search Module 232sends the search terms to the Content Server 250 which sends the termsto a 3rd party search engine and receives the search results from the3rd Party search engine, for example, Google, Bing, etc. Then the SearchModule 232 receives the search results from the Content Server 250. Insome embodiments, the search function on the notification provided bythe Platform 236 may launch or initiate a 3rd Party search engineapplication in which the Search Module 232 is continuously polling forthe user to exit the application and would bring the user back to theoriginal notification in which the search was prompted.

Then the Search Module 232 displays the received search results from theContent Server 250 on the Mobile device 201 user interface to allow theuser to scroll through the search results that were provided by the 3rdParty search engine to the Content Server 250. If it is determined thatthe user did not select the search function or if the user closes, ends,or terminates the search function of the notification then the SearchModule 232 returns to the Base Module 206. The cloud or communicationnetwork may be a wired and/or a wireless network. The communicationnetwork, if wireless, may be implemented using communication techniquessuch as Visible Light Communication (VLC), Worldwide Interoperabilityfor Microwave Access (WiMAX), Long Term Evolution (LTE), Wireless LocalArea Network (WLAN), Infrared (IR) communication, Public SwitchedTelephone Network (PSTN), Radio waves, and other communicationtechniques known in the art. The communication network may allowubiquitous access to shared pools of configurable system resources andhigher-level services that can be rapidly provisioned with minimalmanagement effort, often over Internet, and relies on sharing ofresources to achieve coherence and economies of scale, like a publicutility, while third-party clouds enable organizations to focus on theircore businesses instead of expending resources on computerinfrastructure and maintenance.

The Platform 236 receives requests from and sends data to the LockScreen 208, the Rewards application 212, the News app application 216,and the Persistent Notification 220. The Platform 236 may contain aDynamic Layout Configuration 238, which contains data on the useraccount, user history, user's Mobile device 201, content the user hasviewed or accessed, and the user's notification settings, a ContentServer 250 which fetches content data from 3rd Party providers, anAnalytics/Monitoring module 252 which contains an analysis of user'saccounts such as content viewed or the number of times the applicationhas accessed or the number of times content has been viewed, and aWallet 254 which contains the user's transaction history for the Rewardsapplication 212. The Platform may connect to the Mobile device 201, theLock Screen 208, the Rewards application 212, the News app application216, and the Persistent Notification 220 through a cloud connection, simcard, URL connection.

A Dynamic Layout Configuration 238 contains the User Account 240, UserActions Data 242, Device Specification 244, Content Session Data 246,and Notification Services 248. The Dynamic Layout Configuration 238receives requests from the applications on the Mobile device 201, suchas the Lock Screen 208, the Rewards application 212, the News appapplication 216, and the Persistent Notification 220 and sends therequest data back to the Mobile device 201 or applications, such as datarelated to the user, data related to the user's account, data related tothe user's device, data related to the user's content or how the userreceives notifications. A User Account 240 connects to the Lock Screen208, the Rewards application 212, the News app application 216, and thePersistent Notification 220 through Connectors 210, 214, 218, 222, whichmay URL connections to allow the transmission of data. The User Account240 may contain information or data related to the user's account withinthe applications. A User Actions Data 242 which connects to the LockScreen 208, the Rewards application 212, the News app application 216,and the Persistent Notification 220 through Connectors 210, 214, 218,222, which may URL connections to allow the transmission of data.

The User Actions Data 242 may be data related to the actions the userhas performed on the applications, such as clicks, views, searches, etc.A Device Specification 244 connects to the Lock Screen 208, the Rewardsapplication 212, the News app application 216, and the PersistentNotification 220 through Connectors 210, 214, 218, 222, which may URLconnections to allow the transmission of data. The Device Specification244 may contain data related to the user's Mobile device 201, such asthe manufacturer, model, display size, software version, settings, etc.A Content Session Data 246 which connects to the Lock Screen 208, theRewards application 212, the News app application 216, and thePersistent Notification 220 through Connectors 210, 214, 218, 222, whichmay URL connections to allow the transmission of data. The ContentSession Data 246 may contain data related to the content the user hasviewed, clicked, or accessed through the applications. A NotificationServices 248 which connects to the Lock Screen 208, the Rewardsapplication 212, the News app application 216, and the PersistentNotification 220 through Connectors 210, 214, 218, 222, which may URLconnections to allow the transmission of data.

The Notification Services 248 may be the notification settings for theuser, scheduling notifications, or managing user notificationspreferences within the applications. A Content Server 250 provides apathway from the Mobile device 201 to 3rd Parties such as 3rd partysearch engines, for example, Google, Bing, etc., fetching content from3rd Parties 256 such as App Developers 258, and Advertisers 260, or 3rdParty news aggregators. In some embodiments, the Content Server 250 maycontain various 3rd party APIs. An Analytics/Monitoring module 252provides data related to the user's behavior such as the user's activityon the applications, clicks, views, user trends, or the number of timesthe user has accessed the applications or number of times the user hasaccessed certain content.

A Wallet 254 which contains the user's transaction history related tothe Rewards application 212, such as the amount of coins, points, ormonetary value the user has collected and the items that the user hasexchanged the currency for, such as gift cards, vouchers, other physicalgifts, minutes, or data for their cellular plans, etc. Various 3rdParties 256 provide data, information, applications, or advertisementsto the Platform 236 that is passed onto the applications located on theMobile device 201. The 3rd Parties 256 maybe 3rd party search engines,for example, Google, Bing, etc., fetching content from 3rd Parties 256such as App Developers 258, and Advertisers 260, or 3rd Party newsaggregators and may include APIs to allow the transmission of data intothe Platform 236. Various App Developers 258 are developers that create,test, and program apps for computers, mobile phones, and tablets, thatmay be offered on the applications on the Mobile device 201 through thePlatform 236. Various Advertisers 260 which are 3rd parties that mayhave partnerships or agreement with the Platform to advertise on theapplications located on the Mobile device 201.

The Popular App Module 235 is initiated to determine which applicationsshould be displayed on the application, such as applications that theuser has downloaded and frequently uses, such as a map or GPSapplication, social networking applications, messaging applications,etc. The most popular apps can be those apps that are (1) used mostfrequently in general, (2) used most frequently in a particular day, (3)used most frequently in a series of apps, (4) used because of the vitalimportance, such as a security alert app, etc. Although there are manyways that popular apps can be determined, it should be obvious to thoseskilled in the art that there is a plurality of ways to determine themost popular apps. Also, it should be obvious to those skilled in theart that algorithms are associated with suggesting the most popularapps. The Advertise App Module 237 is activated to determine whichadvertisements and recommended applications should be displayed on thePersistent Notification 220.

FIG. 3 illustrates is a flowchart illustrating an exemplary method ofimplementing a Base Module. The process may begin with the Base Module206 being initiated when the application is installed on the OperatingSystem 202. In some embodiments, the application may be preinstalled onthe Mobile Device Operating System 202 that looks native to the MobileDevice's 201 interface or is displayed in a manner which is displayed ina similar manner to the user interface of the Mobile device 201. In someembodiments, the application may be installed when the user activatesthe Mobile device 201 for the first time, in which the user may be sentprompts or input requests to allow the application access to their data,share content with 3rd parties, privacy policy, or other agreements toperform the functions of the application. In some embodiments, the usermay have to create an account for the application, at step 300.

Then the Base Module 206 is continuously polling for the user toactivate the user interface which may be turning on the display,unlocking the device, etc. In some embodiments, once the user interfaceis activated the Positioning Module 224, the Custom Utility Module 226,the Customize Module 228, News Module 230, and the Search Module 232 maybe initiated simultaneously to allow the application notification tocontain all the necessary data to perform the functions of theapplication, at step 302. Then the Base Module 206 determines that theuser interface has been activated by the user, for example, the user mayturn on the display, unlock the device, etc., at step 304.

The Base Module 206 initiates the Positioning Module 224 or thePositioning Module 224 may be initiated from the user activating theuser interface such as turning on the display, activating the screen, orunlocking the device. The Positioning Module 224 sends a request to thePlatform 236 for the Device Specification 244 located on the DynamicLayout Configuration 238. For example, the Positioning Module 224 issending a request for the specification data related to the device suchas the manufacturer, model, size of the device, size of the screen ordisplay, resolution of the device, etc. in order to display thenotification in a manner and style similar to the device so thenotification looks native to the device. Then the Positioning Module 224receives the Device Specification 244 data to allow the notification toappear to be visually native to the device by using the specificationdata, for example, manufacturer, model, size of the device, size of thescreen or display, resolution of the device, etc.

Then the Positioning Module 224 displays the notification on the userinterface of the Mobile device 201 at the top of the display screen orinterface to allow the user to view the application as the firstnotification. In some embodiments, the Custom Utility Module 226,Customize Module 228, News Module 230, and the Search Module 232 mayhave already been performed to allow the notification to includeadditional functions of the application, for example, the mostfrequently used utility applications, for example, the calculator,camera, maps or GPS, etc. through the Custom Utility Module 226, themost frequently used applications by the user, for example, socialnetworking, messaging applications, etc. through the Customize Module228, providing the user with a news feed through the News Module 230,and providing the user the ability to search the internet or web throughthe Search Module 232, and the Positioning Module 224 returns to theBase Module 206, at step 306.

The Base Module 206 initiates the Custom Utility Module 226 or theCustom Utility Module 226 may be initiated from the user activating theuser interface such as turning on the display, activating the screen, orunlocking the device, to provide the most frequently used utilityapplications on the notification displayed on the Mobile device 201. TheCustom Utility Module 226 sends a request for the User Actions Data 242and Notifications services 248 located on the Dynamic LayoutConfiguration 238. For example, the Custom Utility Module 226 is sendinga request to the Platform 236 for the most frequently used or previouslyselected utility applications that should appear on the notification tothe user, for example, the camera, calculator, maps or GPS, etc. In someembodiments, the user may select which utility applications they desireto appear on the notification by selecting the applications through alist of available utility applications available on the device.

The Custom Utility Module 226 receives the utility application data fromthe User Actions Data 242 and Notifications services 248 to provide theuser with the utility applications within the notification from theapplication provided by the Platform 236 to allow the utilityapplications to be launched directly from the notification. Then theCustom Utility Module 226 displays the most frequently used utilityapplications on the notification allowing a user to launch the utilityapplications directly from the received notification and the CustomUtility Module 226 returns to the Base Module 206, at step 308.

The Base Module 206 initiates the Customize Module 228 or the CustomizeModule 228 may be initiated from the user activating the user interfacesuch as turning on the display, activating the screen, or unlocking thedevice, to provide the most frequently used applications on thenotification displayed on the Mobile device 201. The Customize Module228 sends a request for the User Actions Data 242, Content Session Data246, and Notifications services 248 located on the Dynamic LayoutConfiguration 238. For example, the Customize Module 228 is sending arequest to the Platform 236 for the most frequently used or previouslyselected applications that should appear on the notification to theuser, for example, the social networking applications, messagingapplications, etc. In some embodiments, the user may select whichapplications they desire to appear on the notification by selecting theapplications through a list of available applications available on thedevice. In some embodiments, the applications that appear to the usermay be recommended or advertised applications through 3rd Parties 256that are sent to the Platform 236.

The Customize Module 228 receives the application data from the UserActions Data 242, Content Session Data 246, and Notifications services248 to provide the user with the applications within the notificationfrom the application provided by the Platform 236 to allow the mostfrequently used applications to be launched directly from thenotification. Then the Customize Module 228 displays the most frequentlyused applications on the notification allowing a user to launch theapplications directly from the received notification and the CustomizeModule 228 returns to the Base Module 206, at step 310.

Then the Base Module 206 initiates the News Module 230 or the NewsModule 230 may be initiated from the user activating the user interfacesuch as turning on the display, activating the screen, or unlocking thedevice, to provide the user with a news feed function on thenotification. The News Module 230 determines if the user selected theNews app application 216 on the notification. If it is determined thatthe user selected the News app application 216 on the notification thenthe News Module 230 launches the News app application 216. If it isdetermined that the user did not select the News app application 216 orif the user closes, ends, or terminates the News app application 216 theNews Module 230 returns to the Base Module 206, at step 312.

The Base Module 206 initiates the Search Module 232 or the Search Module232 may be initiated from the user activating the user interface such asturning on the display, activating the screen, or unlocking the device,to provide the user the ability to search the internet or web through3rd Party search engines, for example, Google, Bing, etc., via theContent Server 250. The Search Module 232 determines if the userselected the search function on the notification provided by thePlatform 236. If it is determined that the user selected the searchfunction on the notification provided by the Platform 236, then the userinputs the search terms into the search bar within the notification inthe application provided by the Platform 236. Then the Search Module 232sends the search terms to the Content Server 250 which sends the termsto a 3rd party search engine and receives the search results from the3rd Party search engine, for example, Google, Bing, etc. Then the SearchModule 232 receives the search results from the Content Server 250. Insome embodiments, the search function on the notification provided bythe Platform 236 may launch or initiate a 3rd Party search engineapplication in which the Search Module 232 is continuously polling forthe user to exit the application and would bring the user back to theoriginal notification in which the search was prompted. Then the SearchModule 232 displays the received search results from the Content Server250 on the Mobile device 201 user interface to allow the user to scrollthrough the search results that were provided by the 3rd Party searchengine to the Content server 250. If it is determined that the user didnot select the search function or if the user closes, ends, orterminates the search function of the notification then the SearchModule 132 returns to the Base Module 206, at step 314.

FIG. 4 illustrates is a flowchart illustrating an exemplary method ofimplementing a Positioning Module. The process may begin with thePositioning Module 124 being initiated by the Base Module 206. In someembodiments, the Positioning Module 124 may be initiated from the useractivating the user interface such as turning on the display, activatingthe screen, or unlocking the device, at step 306, continuing from FIG.3. Then the Positioning Module 124 sends a request to the Platform 236for the Device Specification 144 located on the Dynamic LayoutConfiguration 238. For example, the Positioning Module 124 is sending arequest for the specification data related to the device such as themanufacturer, model, size of the device, size of the screen or display,resolution of the device, etc. in order to display the notification in amanner and style similar to the device so the notification looks nativeto the device, at step 402.

The Positioning Module 124 may receive the Device Specification 144 datato allow the notification to appear to be visually native to the deviceby using the specification data, for example, manufacturer, model, sizeof the device, size of the screen or display, resolution of the device,etc., at step 404. The Positioning Module 124 may display thenotification on the user interface of the Mobile Device 101 at the topof the display screen or interface to allow the user to view theapplication as the first notification.

In some embodiments, the Custom Utility Module 126, Customize Module128, News Module 130, and the Search Module 132 may have already beenperformed to allow the notification to include additional functions ofthe application, for example, the most frequently used utilityapplications, for example, the calculator, camera, maps or GPS, etc.through the Custom Utility Module 126, the most frequently usedapplications by the user, for example, social networking, messagingapplications, etc. through the Customize Module 128, providing the userwith a news feed through the News Module 130, and providing the user theability to search the internet or web through the Search Module 132, atstep 406. Then the Positioning Module 124 returns to the Base Module206, at step 408.

FIG. 5 illustrates is a flowchart illustrating an exemplary method ofimplementing a Custom Utility Module. The process may begin with theCustom Utility Module 126 being initiated by the Base Module 206. Insome embodiments, the Custom Utility Module 126 may be initiated fromthe user activating the user interface such as turning on the display,activating the screen, or unlocking the device, to provide the mostfrequently used utility applications on the notification displayed onthe Mobile Device 101, at step 308, continuing from FIG. 3. Then theCustom Utility Module 126 sends a request for the User Actions Data 142and Notification Services 248 located on the Dynamic LayoutConfiguration 238. For example, the Custom Utility Module 126 is sendinga request to the Platform 236 for the most frequently used or previouslyselected utility applications that should appear on the notification tothe user, for example, the camera, calculator, maps or GPS, etc. In someembodiments, the user may select which utility applications they desireto appear on the notification by selecting the applications through alist of available utility applications available on the device, at step502. The Custom Utility Module 126 receives the utility application datafrom the User Actions Data 142 and Notification services 248 to providethe user with the utility applications within the notification from theapplication provided by the Platform 236 to allow the utilityapplications to be launched directly from the notification, at step 504.Then the Custom Utility Module 126 displays the most frequently usedutility applications on the notification allowing a user to launch theutility applications directly from the received notification, at step506. Then the Custom Utility Module 126 returns to the Base Module 206,at step 508.

FIG. 6 illustrates is a flowchart illustrating an exemplary method ofimplementing a Customize Module. The process may begin with theCustomize Module 128 being initiated by the Base Module 206. In someembodiments, the Customize Module 128 may be initiated from the useractivating the user interface such as turning on the display, activatingthe screen, or unlocking the device, to provide the most frequently usedapplications on the notification displayed on the Mobile Device 101, atstep 310, continuing from FIG. 3. The Customize Module 128 may send arequest for the User Actions Data 142, Content Session Data 146, andNotification services 248 located on the Dynamic Layout Configuration238. For example, the Customize Module 128 is sending a request to thePlatform 236 for the most frequently used or previously selectedapplications that should appear on the notification to the user, forexample, the social networking applications, messaging applications,etc. In some embodiments, the user may select which applications theydesire to appear on the notification by selecting the applicationsthrough a list of available applications available on the device. Insome embodiments, the applications that appear to the user may berecommended or advertised applications through 3rd Parties Networks 256that are sent to the Platform 236, at step 602.

The Customize Module 128 receives the application data from the UserActions Data 142, Content Session Data 146, and Notification services248 to provide the user with the applications within the notificationfrom the application provided by the Platform 236 to allow the mostfrequently used applications to be launched directly from thenotification, at step 604. Then the Customize Module 128 displays themost frequently used applications on the notification allowing a user tolaunch the applications directly from the received notification, at step606. Then the Customize Module 128 returns to the Base Module 206, atstep 608.

FIG. 7 illustrates is a flowchart illustrating an exemplary method ofimplementing a News Module. The process may begin with the Base Module206 initiating the News Module 130. In some embodiments, the News Module130 may be initiated from the user activating the user interface such asturning on the display, activating the screen, or unlocking the device,to provide the user with a news feed function on the notification, atstep 312, continuing from FIG. 3. Then the News Module 130 determines ifthe user selected the News app application 216 on the notification, atstep 702. If it is determined that the user selected the News appapplication 216 on the notification then the News Module 130 launchesthe News app. The News app application 216 may be an applicationpreinstalled on the Mobile Device Operating System 202 that looks nativeto the interface of the Mobile Device 101 or is displayed in a mannerthat is displayed in a similar manner to the user interface of theMobile Device 101. In some embodiments, News app application 216 may beinitiated through a notification on the Mobile Device 101 user interfacein which the user is notified of a news article of interest and the userselects the article on the notification launching the application.

The News app application 216 may connect to the Platform 236 to requestand receive data such as accessing a user account through the UserAccount 140, the actions of the user such as previously viewed orselected news articles through the User Actions Data 142, thespecifications of the user's device such as display, screen or interfacesize through the Device Specification 144, the content the user haspreviously viewed or selected through the Content Session Data 146, orreceive notifications from the Platform 236 through the NotificationServices 148. The News app application 216 may also receive content,such as news articles that are aggregated for the user through theContent server 250, and the Analytics/Monitoring module 252 may be usedto determine articles of interest to the user, determine previouslyviewed articles by the user so those news articles will not be shown tothe user again, determine when the user was last shown an advertisementso the user will not be overwhelmed with advertisements or only shownadvertisements periodically.

In some embodiments, the News app application 216 may be displayed as asection on a notification, either from the Lock Screen 108 or thepersistent notification, and initiated when the user selects the newsarticle to be brought to the news article through the News app. In someembodiments, the News app application 216 may be launched or initiatedwhen the user activates the user interface to provide the notificationprovided by the Persistent Notification 220 with a news feed prior tothe user selecting the News app application 216 on the notification sothat the news data collected by the News app application 216 is alreadysent and ready to be displayed to the user when the user selects theNews app, at step 704. If it is determined that the user did not selectthe News app application 216 or if the user closes, ends, or terminatesthe News app application 216 the News Module 130 returns to the BaseModule 206, at step 706.

FIG. 8 illustrates is a flowchart illustrating an exemplary method ofimplementing a Search Module. The process may begin with the SearchModule 132 being initiated by the Base Module 206. In some embodiments,the Search Module 132 may be initiated from the user activating the userinterface such as turning on the display, activating the screen, orunlocking the device, to provide the user the ability to search theinternet or web through 3rd Party search engines, for example, Google,Bing, etc., via the Content server 250, at step 314, continuing fromFIG. 3. Then the Search Module 132 determines if the user selected thesearch function on the notification provided by the Platform 236, atstep 802. If it is determined that the user selected the search functionon the notification provided by the Platform 236, then the user inputsthe search terms into the search bar within the notification in theapplication provided by the Platform 236, at step 804.

The Search Module 132 may send the search terms to the Content server250 which sends the terms to a 3rd party search engine and receives thesearch results from the 3rd Party search engine, for example, Google,Bing, etc. The Content server 250 provides a pathway from the MobileDevice 101 to 3rd Parties such as 3rd party search engines, for example,Google, Bing, etc., fetching content from 3rd Parties Networks 256 suchas App Developers 258, and Advertisers 260, or 3rd Party newsaggregators. In some embodiments, the Content server 250 may containvarious 3rd party APIs. In some embodiments, the search function on thenotification provided by Platform launches or initiates the 3rd Partysearch engine application to allow the user to search the web orinternet, at step 806. Then the Search Module 132 receives the searchresults from the Content server 250. In some embodiments, the searchfunction on the notification provided by the Platform 236 may launch orinitiate a 3rd Party search engine application in which the SearchModule 132 is continuously polling for the user to exit the applicationand would bring the user back to the original notification in which thesearch was prompted, at step 808. Then the Search Module 132 displaysthe received search results from the Content server 250 on the MobileDevice 101 user interface to allow the user to scroll through the searchresults that were provided by the 3rd Party search engine to the Contentserver 250, at step 810. If it is determined that the user did notselect the search function or if the user closes, ends, or terminatesthe search function of the notification then the Search Module 132returns to the Base Module 206, at step 812.

FIG. 9 illustrates a flowchart illustrating an exemplary method ofimplementing a Popular App Module in accordance with an embodiment.

The process begins with the Popular App Module 235 initiated by the BaseModule 206. In some embodiments, the Popular App Module 235 may beinitiated by activating the user interface, such as turning on thedisplay, activating the screen, or unlocking the device. This providesthe most frequently used applications on the notification displayed onthe Mobile Device, at step 900. The Popular App Module 235 sends arequest for the User Actions Data 242, Content Session Data 246, andNotification Services 248 located on the Dynamic Layout Configuration238. For example, the Popular App Module 235 is sending a request toPlatform 236 for the most frequently used or previously selectedapplications that should appear on the notification to the user, forexample, the social networking applications, messaging applications,etc. In some embodiments, the user may select which applications theydesire to appear on the notification by selecting the applicationsthrough a list of available applications available on the device. Insome embodiments, the most frequently used applications by the user mayappear as an icon on the notification, and once the user selects theicon, the most frequently used applications are shown as a list, grid,etc. to the user to allow the user to select the desired application, atstep 902.

The Popular App Module 235 receives the application data from the UserActions Data 242, Content Session Data 246, and Notification Services248 to provide the user with the applications within the notificationfrom the application provided by Platform 236 to allow the mostfrequently used applications to be launched directly from thenotification, at step 904. Then the Popular App Module 235 displays themost frequently used applications on the notification, allowing users tolaunch the applications directly from the received notification. In someembodiments, the most frequently used applications by the user mayappear as an icon on the notification, and once the user selects theicon, the most frequently used applications are shown as a list, grid,etc. to the user to allow the user to select the desired application, atstep 906. Then the Popular App Module 235 returns to the Base Module206, at step 908.

FIG. 10 illustrates a flowchart illustrating an exemplary method ofimplementing an Advertise App Module in accordance with an embodiment.The process begins with the Advertise App Module 237 being initiated byBase Module 206. In some embodiments, the Advertise App Module 237 maybe initiated by activating the user interface, such as turning on thedisplay, activating the screen, or unlocking the device. This providesthe most frequently used utility applications on the notificationdisplayed on the Mobile Device 201, at step 1000. The Advertise AppModule 237 sends a request to the Content Server 250,Analytics/Monitoring Module 252, and Notification Services 248 locatedon the Dynamic Layout Configuration 238. For example, the Advertise AppModule 237 is sending a request to Platform 236 for the content providedby the App Developer Devices 258 and Advertiser Devices 260 from the 3rdParty Networks 256. App Developer Devices 258 are developers thatcreate, test, and program apps for computers, mobile phones, and tabletsoffered on the applications on the Mobile Device 201 through Platform236.

The App Developer Devices 258 may provide their application to Platform236, such as on the Content Server 250, to advertise their applicationon the Mobile Device's 102 notification to allow a user to download orlaunch the application. The App Developer Devices 258 may havecontracts, agreements, or other types of engagements with Platform 236to advertise their application on the notifications provided by Platform236. Advertiser Devices 260, which are 3rd parties that may havepartnerships or agreement with Platform 236 to advertise on theapplications located on the Mobile Device 201. The Advertiser Devices260 may provide their advertisement content to Platform 236 and storedit on the Content Server 250 to allow users of the Platform 236 to viewthe Advertiser Devices 260 advertisement, for example, an advertisementmay be a notice or announcement in a public medium, such as thePlatform's 236 notification, promoting a product, service, event, orpublicizing a job vacancy. The Advertise App Module 237 also sends arequest to the Analytics/Monitoring Module 252 located on Platform 236.

This request determines how often a user is being sent notificationswith an app or advertisement to determine if a previously determineduser threshold has been reached, at step 1002. The Advertise App Module237 receives the application and advertisement data from the ContentServer 250, Analytics/Monitoring Module 252, and Notification Services248 to provide the user with an application and advertisement within thenotification provided by Platform 236 to allow the user to view anapplication, which may a recommended application, suggesting to downloadan application or application that the user currently has installed onthe Mobile Device 201 that has an agreement, contract, or other types ofengagement with the Platform 236, and an advertisement from a 3^(rd)Party, at step 1004. Then the Advertise App Module 237 displays theapplication and advertisement on the notification provided by Platform236, allowing the user to view a recommended application and anadvertisement within the notification, at step 606. The Advertise AppModule 237 then sends the advertisement data to the Monetization Module253 of Platform 236 and then returns to the Base Module 206, at step1008.

The Monetization Database 255 (shown in FIG. 2) allows the MonetizationModule 253 to send and receive its data. The Monetization Database 255stores data for each user. The Monetization Database 255 of Platform 236allows for the storage of alpha or numeric data for each user. TheMonetization Database 255 of Platform 236 allows for the storage ofalpha or numeric data for each period. The Monetization Database 255 ofPlatform 236 allows for the storage of alpha or numeric data for eachpopular app being used. The Monetization Database 255 of Platform 236allows for the storage of alpha or numeric data for each advertisement.The Monetization Database 255 of Platform 236 allows for the storage ofalpha or numeric data for each stakeholder (Platform 236, advertiser,users, application owner, OS owners, mobile device manufacturers).

The Monetization Module 253 of Platform 236 allows for the storage ofalpha or numeric data to the Monetization Database 255. [0029] TheMonetization Module 253 of Platform 236 allows for communications withall other related modules of the Mobile Device 201 or the Platform 236or 3rd Party Networks 256. The Monetization Module 253 of Platform 236allows for payments and credits for all the various stakeholders.

FIGS. 11A-11I illustrate graphical user interfaces (GUIs) depicting animplementation of a native toolbar with enhanced functions in anotification. These GUIs display examples of the user interface of theapplication provided by the Platform 236. FIG. 11A displays the settingsavailable to the user for the application, including the ability toposition applications on the toolbar such as the most frequently usedapplications or the utility applications the user desires to bedisplayed when the Persistent Notification 220 is displayed on theiruser interface. The settings also include support and feedback for theapplication, privacy policy, and terms of use which the user may have toaccept or acknowledge prior to using the application so that theapplication can access the necessary user data, user content data, oruser device data to allow the application to function properly. Thesettings also include the installation ID as well as the version of theapplication currently on the user's device.

FIG. 11B displays a user interface example of the PersistentNotification 220 notification which includes a search bar, icons for thenews feed labeled “News”, an icon for most frequently used applicationsby the user labeled “Apps”, and utility applications that are frequentlyused by the user which in this example is the “camera” and “weather”applications. The notification appears on the user interface through theprocess described in the Base Module 206, the Positioning Module 224,the Custom Utility Module 226, the Customize Module 228, the News Module230, and the Search Module 232. The notification is positioned at thetop of the user interface through the Positioning Module 224. The“camera” and “weather” icons appear on the notification through theCustom Utility Module 228, the user may select in the settings interfacewhich utility applications they prefer to see when the notificationappears, or the most frequently used utility applications may bedisplayed to the user.

The “apps” icon appears on the notification which contains the mostfrequently used applications by the user such as social networking,messaging applications, etc. through the process described in theCustomize Module 128. The “News” icon appears on the notificationthrough the process described in the News Module 130 and when selectedby the user provides a news feed of news article that may be interestingto the user. The search bar appears on the notification through theprocess described in the Search Module 132 and allows the user to searchthe web or internet through 3rd party search engines.

FIG. 11C displays the search function within the application when thedevice is unlocked by the user which allows the user to search the webor internet through 3rd party search engines through the processdescribed in the Search Module 132. At the bottom of the interface areicons for the application, such as the currently selected “Search”function, an icon for the news feed labeled “News”, an icon for mostfrequently used applications by the user labeled “Apps”, and a utilityapplication that is frequently used by the user which in the case in the“weather”. When the icon is selected the corresponding module isinitiated or in some embodiments, the modules are continuously runningin order to allow the user with the selected information once theyselect the icon. For example, when the user selects the “News” icon theNews Module 130 is initiated to provide the user with a news feed viathe News app application 216 when the “Apps” icon is selected theCustomize Module 128 is initiated allowing the user to view the mostfrequently used applications, and the Custom Utility Model 126 isinitiated to provide the user with a “Weather” icon which is determinedto be the previously selected utility application or the most frequentlyused utility application by the user.

FIG. 11D displays an example of the news feed which is provided throughthe process described in the News Module 130 which is initiated by theBase Module 206. In some embodiments, the News Module 130 may beinitiated from the user activating the user interface such as turning onthe display, activating the screen, or unlocking the device, to providethe user with a news feed function. Then the News Module 130 determinesif the user selected the News app application 216 on the notification orthrough the application. If it is determined that the user selected theNews app application 216 on the notification then the News Module 130launches the News app. The News app application 216 may be anapplication preinstalled on the Mobile Device Operating System 202 thatlooks native to the Mobile Device's 201 interface or is displayed in amanner which is displayed in a similar manner to the user interface ofthe Mobile Device 101. In some embodiments, News app application 216 maybe initiated through a notification on the Mobile Device 101 userinterface in which the user is notified of a news article of interestand the user selects the article on the notification launching theapplication. The News app application 216 may connect to the Platform236 to request and receive data such as accessing a user account throughthe User Account 140, the actions of the user such as previously viewedor selected news articles through the User Actions Data 142, thespecifications of the user's device such as display, screen or interfacesize through the Device Specification 144, the content the user haspreviously viewed or selected through the Content Session Data 146, orreceive notifications from the Platform 236 through the NotificationServices 148.

The News app application 216 may also receive content, such as newsarticles that are aggregated for the user through the Content server250, and the Analytics/Monitoring module 252 may be used to determinearticles of interest to the user, determine previously viewed articlesby the user so those news articles will not be shown to the user again,determine when the user was last shown an advertisement so the user willnot be overwhelmed with advertisements or only shown advertisementsperiodically.

In some embodiments, the News app application 216 may be displayed as asection on a notification, either from the Lock Screen 108, thePersistent notification 220, or when the application is opened,initiated, or launched by the user and initiated when the user selectsthe news article to be brought to the news article through the News app.In some embodiments, the News app application 216 may be launched orinitiated when the user activates the user interface to provide thenotification provided by the Persistent Notification 220 with a newsfeed prior to the user selecting the News app application 216 on thenotification so that the news data collected by the News app application216 is already sent and ready to be displayed to the user when the userselects the News app.

FIG. 11E displays another embodiment for the user interface example ofthe Persistent Notification 220, which includes a search bar, icons forthe news feed labeled “News”, an icon for most frequently usedapplications by the user labeled “Apps”, and utility applications thatare frequently used by the user which in this example is the “camera”and “weather” applications.

FIG. 11F displays an example for the user interface for displaying the“Apps” associated the Persistent notification 220. FIG. 11G displays anexample of the user interface displaying the News app application 216which is initiated through Persistent notification 220. FIG. 11Hdisplays an example of the user interface for the Search bar. FIG. 11Idisplays an example of the user interface for the “Weather” App which isinitiated through the Persistent notification 220.

FIG. 12A is a flowchart illustrating an exemplary method of implementinga native toolbar with enhanced functions in a notification. Although theexample method 1200 depicts a particular sequence of operations, thesequence may be altered without departing from the scope of the presentdisclosure. For example, some of the operations depicted may beperformed in parallel or in a different sequence that does notmaterially affect the function of the method 1200. In other examples,different components of an example device or system that implements themethod 1200 may perform functions at substantially the same time or in aspecific sequence.

According to some aspects, the method includes providing a softwaredevelopment kit (SDK) that, when integrated with another application,presents a persistent notification application as a downloadableapplication at a client device that downloaded the other application atstep 1010. For example, the platform server 104 illustrated in FIG. 1may provide a software development kit (SDK) that, when integrated withanother application, presents a persistent notification application as adownloadable application at a client device that downloaded the otherapplication.

According to some aspects, the method includes receiving a request fromthe client device to opt-in to download the downloadable persistentnotification application at step 1220. For example, the platform server104 illustrated in FIG. 1 may receive a request from the client deviceto opt-in to download the downloadable persistent notificationapplication.

According to some aspects, the method includes sending the downloadablepersistent notification to the client device at step 1230. For example,the platform server 104 illustrated in FIG. 1 may send the downloadablepersistent notification to the client device. In some aspects, thedownloadable persistent notification positions a notification withenhanced functions at the top of the user interface.

According to some aspects, the method includes providing a search barfor searching the Internet through 3rd party search engines. Forexample, the persistent notification 220 illustrated in FIG. 2 mayprovide a search bar for searching the Internet through 3rd party searchengines. According to some aspects, the method includes collecting useraction data, content session data, and notification settings data toprovide more suitable search results when the user searches via thesearch bar. For example, the platform server 104 and/or the SDK 102illustrated in FIG. 1 may collect user action data, content sessiondata, and notification settings data to provide more suitable searchresults when the user searches via the search bar. In some aspects, thepersistent notification comprises a search bar and a set of iconsassociated with applications.

In some aspects, the persistent notification application is presented inan onboarding process for another application. In some aspects, adownload option for the persistent notification application is presentedas an overlay at the client device after the other application isdownloaded. In some aspects, the downloadable persistent notificationpositions the notification at the top of the user interface byleveraging a mobile operating system notification framework.

In some aspects, the persistent notification application sets apermanent position for the persistent notification at a top positionassociated with a newest notification. In some aspects, the persistentnotification application polls for activation of a user interface. Insome aspects, determines that the user interface is activated. In someaspects, the persistent notification application positions thepersistent notification at the top of the user interface. In someaspects, the activation is turning on the phone, waking the phone, orpulling down a notification bar. In some aspects, the persistentnotification application determines that a news feed function isselected and provides a new feed within the persistent notification.

The functions performed in the processes and methods may be implementedin differing order. Furthermore, the outlined steps and operations areonly provided as examples, and some of the steps and operations may beoptional, combined into fewer steps and operations, or expanded intoadditional steps and operations without detracting from the essence ofthe disclosed embodiments.

The foregoing detailed description of the technology herein has beenpresented for purposes of illustration and description. It is notintended to be exhaustive or to limit the technology to the precise formdisclosed. Many modifications and variations are possible in light ofthe above teaching. The described embodiments were chosen in order tobest explain the principles of the technology and its practicalapplication to thereby enable others skilled in the art to best utilizethe technology in various embodiments and with various modifications asare suited to the particular use contemplated. It is intended that thescope of the technology be defined by the claim.

FIG. 12B is a flowchart illustrating an exemplary method of implementinga native toolbar with enhanced functions in a notification in accordancewith an embodiment. Although the example method 1250 depicts aparticular sequence of operations, the sequence may be altered withoutdeparting from the scope of the present disclosure. For example, some ofthe operations depicted may be performed in parallel or in a differentsequence that does not materially affect the function of the method1250. In other examples, different components of an example device orsystem that implements the method 1250 may perform functions atsubstantially the same time or in a specific sequence.

According to some aspects, the method includes continuously monitoringfor activation of a user interface on a client device at step 1260. Forexample, base module 206 or the persistent notification application 220illustrated in FIG. 2 may continuously monitor for activation of a userinterface on a client device.

According to some aspects, the method includes positioning a persistentnotification at a top position of a notification center at step 1270.For example, the positioning module 224 illustrated in FIG. 2 mayposition a persistent notification at a top position of a notificationcenter. In some aspects, the persistent notification includes a searchbar. The search bar may provide search results from third-partydatabases when utilized.

According to some aspects, the method includes tracking use data of thepersistent notification at step 1280. For example, the persistentnotification application 220 illustrated in FIG. 2 may continuouslymonitor for activation of a user interface on a client device.

According to some aspects, the method includes sending the tracked datato an analytics and monitoring module, wherein the tracked data is usedfor determining monetization allocation at step 1290. For example, thepersistent notification application 220 illustrated in FIG. 2 may sendthe tracked data to an analytics and monitoring module, wherein thetracked data is used for determining monetization allocation.

According to some aspects, the method includes determining a set ofutility applications to be displayed at the persistent notification,wherein the determination is based on a frequency of use. For example,the persistent notification application 220 illustrated in FIG. 2 maydetermine a set of utility applications to be displayed at thepersistent notification, wherein the determination is based on afrequency of use.

According to some aspects, the method includes triggering a searchmodule based on activation of the search bar at the persistentnotification. For example, the persistent notification application 220illustrated in FIG. 2 may trigger a search module based on activation ofthe search bar at the persistent notification. According to someaspects, the method includes presenting search results sourced from oneor more online databases. For example, the persistent notificationapplication 220 illustrated in FIG. 2 may present search results sourcedfrom one or more online databases.

According to some aspects, the method includes determining a list ofthird-party application partners. For example, the persistentnotification application 220 illustrated in FIG. 2 may determine a listof third-party application partners. According to some aspects, themethod includes giving priority to the third-party application partnersin search results and in the set of utility applications. For example,the persistent notification application 220 illustrated in FIG. 2 maygive priority to the third-party application partners in search resultsand in the set of utility applications.

According to some aspects, the method includes triggering a news modulebased on activation of a news module graphical element in the persistentnotification. For example, the persistent notification application 220illustrated in FIG. 2 may trigger a news module based on activation of anews module graphical element in the persistent notification. Accordingto some aspects, the method includes presenting news articles sourcesfrom one or more online databases. For example, the persistentnotification application 220 illustrated in FIG. 2 may present newsarticles sources from one or more online databases.

In some aspects, the monitoring is for activation of the notificationcenter. In some aspects, activation of the notification center isopening the notification center or activating a lock screen.

FIG. 13 shows an example of computing system 1300, which can be forexample any computing device making up the mobile device 101, or anycomponent thereof in which the components of the system are incommunication with each other using connection 1305. Connection 1305 canbe a physical connection via a bus, or a direct connection intoprocessor 1310, such as in a chipset architecture. Connection 1305 canalso be a virtual connection, networked connection, or logicalconnection.

In some embodiments, computing system 1300 is a distributed system inwhich the functions described in this disclosure can be distributedwithin a datacenter, multiple data centers, a peer network, etc. In someembodiments, one or more of the described system components representsmany such components each performing some or all of the function forwhich the component is described. In some embodiments, the componentscan be physical or virtual devices.

Example system 1300 includes at least one processing unit (CPU orprocessor) 1310 and connection 1305 that couples various systemcomponents including system memory 1315, such as read-only memory (ROM)1320 and random access memory (RAM) 1325 to processor 1310. Computingsystem 1300 can include a cache of high-speed memory 1312 connecteddirectly with, in close proximity to, or integrated as part of processor1310.

Processor 1310 can include any general purpose processor and a hardwareservice or software service, such as services 1332, 1334, and 1336stored in storage device 1330, configured to control processor 1310 aswell as a special-purpose processor where software instructions areincorporated into the actual processor design. Processor 1310 mayessentially be a completely self-contained computing system, containingmultiple cores or processors, a bus, memory controller, cache, etc. Amulti-core processor may be symmetric or asymmetric.

To enable user interaction, computing system 1300 includes an inputdevice 1345, which can represent any number of input mechanisms, such asa microphone for speech, a touch-sensitive screen for gesture orgraphical input, keyboard, mouse, motion input, speech, etc. Computingsystem 1300 can also include output device 1335, which can be one ormore of a number of output mechanisms known to those of skill in theart. In some instances, multimodal systems can enable a user to providemultiple types of input/output to communicate with computing system1300. Computing system 1300 can include communications interface 1340,which can generally govern and manage the user input and system output.There is no restriction on operating on any particular hardwarearrangement, and therefore the basic features here may easily besubstituted for improved hardware or firmware arrangements as they aredeveloped.

Storage device 1330 can be a non-volatile memory device and can be ahard disk or other types of computer readable media which can store datathat are accessible by a computer, such as magnetic cassettes, flashmemory cards, solid state memory devices, digital versatile disks,cartridges, random access memories (RAMs), read-only memory (ROM),and/or some combination of these devices.

The storage device 1330 can include software services, servers,services, etc., that when the code that defines such software isexecuted by the processor 1310, it causes the system to perform afunction. In some embodiments, a hardware service that performs aparticular function can include the software component stored in acomputer-readable medium in connection with the necessary hardwarecomponents, such as processor 1310, connection 1305, output device 1335,etc., to carry out the function.

For clarity of explanation, in some instances, the present technologymay be presented as including individual functional blocks includingfunctional blocks comprising devices, device components, steps orroutines in a method embodied in software, or combinations of hardwareand software.

Any of the steps, operations, functions, or processes described hereinmay be performed or implemented by a combination of hardware andsoftware services or services, alone or in combination with otherdevices. In some embodiments, a service can be software that resides inmemory of a client device and/or one or more servers of a contentmanagement system and perform one or more functions when a processorexecutes the software associated with the service. In some embodiments,a service is a program or a collection of programs that carry out aspecific function. In some embodiments, a service can be considered aserver. The memory can be a non-transitory computer-readable medium.

In some embodiments, the computer-readable storage devices, mediums, andmemories can include a cable or wireless signal containing a bit streamand the like. However, when mentioned, non-transitory computer-readablestorage media expressly exclude media such as energy, carrier signals,electromagnetic waves, and signals per se.

Methods according to the above-described examples can be implementedusing computer-executable instructions that are stored or otherwiseavailable from computer-readable media. Such instructions can comprise,for example, instructions and data which cause or otherwise configure ageneral purpose computer, special purpose computer, or special purposeprocessing device to perform a certain function or group of functions.Portions of computer resources used can be accessible over a network.The executable computer instructions may be, for example, binaries,intermediate format instructions such as assembly language, firmware, orsource code. Examples of computer-readable media that may be used tostore instructions, information used, and/or information created duringmethods according to described examples include magnetic or opticaldisks, solid-state memory devices, flash memory, USB devices providedwith non-volatile memory, networked storage devices, and so on.

Devices implementing methods according to these disclosures can comprisehardware, firmware and/or software, and can take any of a variety ofform factors. Typical examples of such form factors include servers,laptops, smartphones, small form factor personal computers, personaldigital assistants, and so on. The functionality described herein alsocan be embodied in peripherals or add-in cards. Such functionality canalso be implemented on a circuit board among different chips ordifferent processes executing in a single device, by way of furtherexample.

The instructions, media for conveying such instructions, computingresources for executing them, and other structures for supporting suchcomputing resources are means for providing the functions described inthese disclosures.

The example embodiments described herein can be implemented in anoperating environment comprising computer-executable instructions (e.g.,software) installed on a computer, in hardware, or in a combination ofsoftware and hardware. The computer-executable instructions can bewritten in a computer programming language or can be embodied infirmware logic.

Aspects of the present invention are described below with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

The flowchart and block diagrams in the figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments. In this regard, each block in the flowchart or blockdiagrams may represent a module, segment, or portion of code, whichcomprises one or more executable instructions for implementing thespecified logical function(s). It should also be noted that, in somealternative implementations, the functions noted in the block may occurout of the order noted in the figures. For example, two blocks shown insuccession may, in fact, be executed substantially concurrently, or theblocks may sometimes be executed in the reverse order, depending uponthe functionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts, or combinations of special purpose hardware andcomputer instructions.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

Further, although process steps, method steps, algorithms or the likemay be described in a sequential order, such processes, methods andalgorithms may be configured to work in alternate orders. In otherwords, any sequence or order of steps that may be described does notnecessarily indicate a requirement that the steps be performed in thatorder. The steps of processes described herein may be performed in anyorder practical. Further, some steps may be performed simultaneously.

It will be readily apparent that the various methods and algorithmsdescribed herein may be implemented by, e.g., appropriately programmedgeneral purpose computers and computing devices. Typically a processor(e.g., a microprocessor) will receive instructions from a memory or likedevice, and execute those instructions, thereby performing a processdefined by those instructions. Further, programs that implement suchmethods and algorithms may be stored and transmitted using a variety ofknown media.

When a single device or article is described herein, it will be readilyapparent that more than one device/article (whether or not theycooperate) may be used in place of a single device/article. Similarly,where more than one device or article is described herein (whether ornot they cooperate), it will be readily apparent that a singledevice/article may be used in place of the more than one device orarticle.

The functionality and/or the features of a device may be alternativelyembodied by one or more other devices which are not explicitly describedas having such functionality/features. Thus, other embodiments of thepresent invention need not include the device itself.

The term “computer-readable medium” as used herein refers to any mediumthat participates in providing data (e.g., instructions) which may beread by a computer, a processor or a like device. Such a medium may takemany forms, including but not limited to, non-volatile media, volatilemedia, and transmission media. Non-volatile media include, for example,optical or magnetic disks and other persistent memory. Volatile mediainclude dynamic random access memory (DRAM), which typically constitutesthe main memory. Transmission media include coaxial cables, copper wireand fiber optics, including the wires that comprise a system bus coupledto the processor. Transmission media may include or convey acousticwaves, light waves and electromagnetic emissions, such as thosegenerated during radio frequency (RF) and infrared (IR) datacommunications. Common forms of computer-readable media include, forexample, a floppy disk, a flexible disk, hard disk, magnetic tape, anyother magnetic medium, a CD-ROM, DVD, any other optical medium, punchcards, paper tape, any other physical medium with patterns of holes, aRAM, a PROM, an EPROM, a FLASH-EEPROM, any other memory chip orcartridge, a carrier wave as described hereinafter, or any other mediumfrom which a computer can read.

Various forms of computer readable media may be involved in carryingsequences of instructions to a processor. For example, sequences ofinstruction (i) may be delivered from RAM to a processor, (ii) may becarried over a wireless transmission medium, and/or (iii) may beformatted according to numerous formats, standards or protocols, such asBluetooth, TDMA, CDMA, 3G.

Where databases are described, it will be understood by one of ordinaryskill in the art that (i) alternative database structures to thosedescribed may be readily employed, (ii) other memory structures besidesdatabases may be readily employed. Any schematic illustrations andaccompanying descriptions of any sample databases presented herein areexemplary arrangements for stored representations of information. Anynumber of other arrangements may be employed besides those suggested bythe tables shown. Similarly, any illustrated entries of the databasesrepresent exemplary information only; those skilled in the art willunderstand that the number and content of the entries can be differentfrom those illustrated herein. Further, despite any depiction of thedatabases as tables, an object-based model could be used to store andmanipulate the data types of the present invention and likewise, objectmethods or behaviors can be used to implement the processes of thepresent invention.

Embodiments of the present invention may include apparatuses forperforming the operations disclosed herein. An apparatus may bespecially constructed for the desired purposes, or it may comprise ageneral-purpose device selectively activated or reconfigured by aprogram stored in the device.

Embodiments of the invention may also be implemented in one or acombination of hardware, firmware, and software. They may be implementedas instructions stored on a machine-readable medium, which may be readand executed by a computing platform to perform the operations describedherein.

More specifically, as will be appreciated by one skilled in the art,aspects of the present invention may be embodied as a system, method orcomputer program product. Accordingly, aspects of the present inventionmay take the form of an entirely hardware embodiment, an entirelysoftware embodiment (including firmware, resident software, micro-code,etc.) or an embodiment combining software and hardware aspects that mayall generally be referred to herein as a “circuit,” “module” or“system.” Furthermore, aspects of the present invention may take theform of a computer program product embodied in one or more computerreadable medium(s) having computer readable program code embodiedthereon.

In the following description and claims, the terms “computer programmedium” and “computer readable medium” may be used to generally refer tomedia such as, but not limited to, removable storage drives, a hard diskinstalled in hard disk drive, and the like. These computer programproducts may provide software to a computer system. Embodiments of theinvention may be directed to such computer program products.

Unless specifically stated otherwise, and as may be apparent from thefollowing description and claims, it should be appreciated thatthroughout the specification descriptions utilizing terms such as“processing,” “computing,” “calculating,” “determining,” or the like,refer to the action and/or processes of a computer or computing system,or similar electronic computing device, that manipulate and/or transformdata represented as physical, such as electronic, quantities within thecomputing system's registers and/or memories into other data similarlyrepresented as physical quantities within the computing system'smemories, registers or other such information storage, transmission ordisplay devices.

In a similar manner, the term “processor” may refer to any device orportion of a device that processes electronic data from registers and/ormemory to transform that electronic data into other electronic data thatmay be stored in registers and/or memory. A “computing platform” maycomprise one or more processors.

Embodiments within the scope of the present disclosure may also includetangible and/or non-transitory computer-readable storage media forcarrying or having computer-executable instructions or data structuresstored thereon. Such non-transitory computer-readable storage media canbe any available media that can be accessed by a general purpose orspecial purpose computer, including the functional design of any specialpurpose processor as discussed above. By way of example, and notlimitation, such non-transitory computer-readable media can include RAM,ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storageor other magnetic storage devices, or any other medium which can be usedto carry or store desired program code means in the form ofcomputer-executable instructions, data structures, or processor chipdesign. When information is transferred or provided over a network oranother communications connection (either hardwired, wireless, orcombination thereof) to a computer, the computer properly views theconnection as a computer-readable medium. Thus, any such connection isproperly termed a computer-readable medium. Combinations of the aboveshould also be included within the scope of the computer-readable media.

While a non-transitory computer readable medium includes, but is notlimited to, a hard drive, compact disc, flash memory, volatile memory,random access memory, magnetic memory, optical memory, semiconductorbased memory, phase change memory, optical memory, periodicallyrefreshed memory, and the like; the non-transitory computer readablemedium, however, does not include a pure transitory signal per se; i.e.,where the medium itself is transitory.

Some embodiments of the present invention may provide means and/ormethods for storage, analysis, and/or management of data. In some ofthese embodiments, data may be provided by users and/or received fromexternal software. Many embodiments, and variations thereof, may providefor a framework for contests.

What is claimed is:
 1. A computer-implemented method for displaying apersistent notification with enhanced features comprising: continuouslymonitoring for activation of a user interface on a client device;positioning a persistent notification at a top position of anotification center, wherein the persistent notification includes asearch bar; tracking use data of the persistent notification; andsending the tracked data to an analytics and monitoring module, whereinthe tracked data is used for determining monetization allocation.
 2. Thecomputer-implemented method of claim 1, further comprising: determininga set of utility applications to be displayed at the persistentnotification, wherein the determination is based on a frequency of use.3. The computer-implemented method of claim 2, further comprising:triggering a search module based on activation of the search bar at thepersistent notification; and presenting search results sourced from oneor more online databases.
 4. The computer-implemented method of claim 3,further comprising: determining a list of third-party applicationpartners; and giving priority to the third-party application partners insearch results and in the set of utility applications.
 5. Thecomputer-implemented method of claim 1, further comprising: triggering anews module based on activation of a news module graphical element inthe persistent notification; and presenting news articles sourced fromone or more online databases.
 6. The computer-implemented method ofclaim 1, wherein the monitoring is for activation of the notificationcenter.
 7. The computer-implemented method of claim 1, whereinactivation of the notification center is opening the notification centeror activating a lock screen.
 8. A system for displaying a persistentnotification with enhanced features, comprising: memory configured tostore instructions; and one or more processors configured to execute theinstructions and cause the one or more processors to: continuouslymonitor for activation of a user interface on a client device; positiona persistent notification at a top position of a notification center,wherein the persistent notification includes a search bar; track usedata of the persistent notification; and send the tracked data to ananalytics and monitoring module, wherein the tracked data is used fordetermining monetization allocation.
 9. The system of claim 8, whereinthe instructions cause the one or more processors to further: determinea set of utility applications to be displayed at the persistentnotification, wherein the determination is based on a frequency of use.10. The system of claim 9, wherein the instructions cause the one ormore processors to further: trigger a search module based on activationof the search bar at the persistent notification; and present searchresults sourced from one or more online databases.
 11. The system ofclaim 10, wherein the instructions cause the one or more processors tofurther: determine a list of third-party application partners; and givepriority to the third-party application partners in search results andin the set of utility applications.
 12. The system of claim 8, whereinthe instructions cause the one or more processors to further: trigger anews module based on activation of a news module graphical element inthe persistent notification; and present news articles sourced from oneor more online databases.
 13. The system of claim 8, wherein themonitoring is for activation of the notification center.
 14. The systemof claim 8, wherein activation of the notification center is opening thenotification center or activating a lock screen.
 15. A non-transitorycomputer-readable medium comprising instructions, the instructions, whenexecuted by a computing system, cause the computing system to:continuously monitor for activation of a user interface on a clientdevice; position a persistent notification at a top position of anotification center, wherein the persistent notification includes asearch bar; track use data of the persistent notification; and send thetracked data to an analytics and monitoring module, wherein the trackeddata is used for determining monetization allocation.
 16. Thenon-transitory computer-readable medium of claim 15, wherein theinstructions further cause the computing system to: determine a set ofutility applications to be displayed at the persistent notification,wherein the determination is based on a frequency of use.
 17. Thenon-transitory computer-readable medium of claim 16, wherein theinstructions further cause the computing system to: trigger a searchmodule based on activation of the search bar at the persistentnotification; and present search results sourced from one or more onlinedatabases.
 18. The non-transitory computer-readable medium of claim 17,wherein the instructions further cause the computing system to:determine a list of third-party application partners; and give priorityto the third-party application partners in search results and in the setof utility applications.
 19. The non-transitory computer-readable mediumof claim 15, wherein the instructions further cause the computing systemto: trigger a news module based on activation of a news module graphicalelement in the persistent notification; and present news articlessourced from one or more online databases.
 20. The non-transitorycomputer-readable medium of claim 15, wherein the monitoring is foractivation of the notification center.